package com.promise.jokerdream.model.boss

data class BossInfo(
    val name: String,
    val level: Int = 0
)

object PenguinBossMapping {
    val bossMap = mapOf(
        2 to BossInfo("乐斗教主"),
        3 to BossInfo("乐斗帅帅"),
        4 to BossInfo("乐斗姜公"),
        5 to BossInfo("乐斗月璇姐姐"),
        6 to BossInfo("乐斗源大侠"),
        7 to BossInfo("乐斗菜菜"),
        9 to BossInfo("乐斗剑君", 20),
        10 to BossInfo("羊魔王"),
        11 to BossInfo("月敏妹妹", 30),
        12 to BossInfo("俊猴王", 40),
        13 to BossInfo("大色魔"),
        14 to BossInfo("马大师"),
        15 to BossInfo("四姑娘"),
        16 to BossInfo("乐斗程管", 50),
        17 to BossInfo("山贼"),
        18 to BossInfo("强盗"),
        19 to BossInfo("乐斗邪神畅哥"),
        33 to BossInfo("金毛鹅王", 60),
        151 to BossInfo("新手小王子"),
        152 to BossInfo("曾小三"),
        153 to BossInfo("盗圣"),
        155 to BossInfo("一灯大师"),
        156 to BossInfo("黄药师"),
        161 to BossInfo("斗神幻像")
    )
    
    /**
     * 根据boss名称获取boss ID
     * @param bossName boss名称
     * @return boss ID，如果找不到则返回null
     */
    fun getBossIdByName(bossName: String): Int? {
        return bossMap.entries.find { it.value.name == bossName }?.key
    }
    
    /**
     * 根据boss ID获取boss名称
     * @param bossId boss ID
     * @return boss名称，如果找不到则返回null
     */
    fun getBossNameById(bossId: Int): String? {
        return bossMap[bossId]?.name
    }
    
    /**
     * 根据boss ID获取boss信息
     * @param bossId boss ID
     * @return boss信息，如果找不到则返回null
     */
    fun getBossInfoById(bossId: Int): BossInfo? {
        return bossMap[bossId]
    }
    
    /**
     * 根据boss ID获取挑战等级要求
     * @param bossId boss ID
     * @return 挑战等级要求，如果找不到则返回null
     */
    fun getBossLevelById(bossId: Int): Int? {
        return bossMap[bossId]?.level
    }
}